(function(root,factory){typeof define=="function"&&define.amd?define([],factory):typeof module=="object"&&module.exports?module.exports=factory():root.Rellax=factory()})(typeof window!="undefined"?window:global,function(){var Rellax=function(el,options){"use strict";function validateCustomBreakpoints(){if(self.options.breakpoints.length===3&&Array.isArray(self.options.breakpoints)){var isAscending=!0,isNumerical=!0,lastVal;self.options.breakpoints.forEach(function(i){typeof i!="number"&&(isNumerical=!1),lastVal!==null&&i0){self.elems=elements;if(self.options.wrapper&&!self.options.wrapper.nodeType){var wrapper=document.querySelector(self.options.wrapper);if(!wrapper){console.warn("Rellax: The wrapper you're trying to use doesn't exist.");return}self.options.wrapper=wrapper}var currentBreakpoint,getCurrentBreakpoint=function(w){var bp=self.options.breakpoints;return w=bp[0]&&w=bp[1]&&w=blocks[i].max?blocks[i].max:positionY),self.options.horizontal&&!self.options.vertical&&(positionX=positionX>=blocks[i].max?blocks[i].max:positionX)),blocks[i].maxY!=null&&(positionY=positionY>=blocks[i].maxY?blocks[i].maxY:positionY),blocks[i].maxX!=null&&(positionX=positionX>=blocks[i].maxX?blocks[i].maxX:positionX);var zindex=blocks[i].zindex,translate="translate3d("+(self.options.horizontal?positionX:"0")+"px,"+(self.options.vertical?positionY:"0")+"px,"+zindex+"px) "+blocks[i].transform;self.elems[i].style[transformProp]=translate}self.options.callback(positions)};return self.destroy=function(){for(var i=0;i